#ifndef SZNR103_TYPE_H
#define SZNR103_TYPE_H

#include <QByteArray>
#include "utils.h"
#include "SZNR103Constructer.h"

#define  APCI_START "68"
#define  END_FLAG "16"
#define POS_START1 0
#define POS_LEN_1 1
#define POS_LEN_2 2
#define POS_START2 3
#define POS_CODE
#define POS_CODE_FCV 4
#define POS_CODE_FCB 5  // 控制域，帧计数下标位置

// 定义接收帧的类型，分为固定帧， 带asdu数据的
#define TYPE_FIX 0
#define TYPE_ASDU 1

// asdu 各字段下标位置
#define POS_ASDU_COT 4
#define POS_ASDU_FUN 8
#define POS_ASDU_INF 10
#define POS_ASDU_RII 12
#define POS_ASDU_NGD 14
#define POS_ASDU_GROUPNO 16

#define KEY_BILLGROUP_NAME "定值"

// 关于控制域的功能码 ， 分为控制系统向保护设备，和保护设备向控制系统两个方向区分
// 解析接收到的报文也就是保护到控制系统
/*  功能码    帧类型     功能
 *   0       确认帧     确认
 *   1       确认帧     链路忙、未收到报文
 *  2-5      -          备用
 *  6-7      -          厂商自定义
 *  8        响应帧     以数据响应请求帧
 *  9        响应帧     无所召唤的数据
 *  10         -       备用
 *  11       响应帧     以链路数据或访问请求回答帧
 *  12                 备用
 *  13                 厂商自定义
 *  14                 链路服务未工作
 *  15                 链路服务未完成
 * */
#define SURE_FRAME 0
#define LINK_BUSY 1
#define STAND_BY 2
#define USER_DEFINE 3
#define DATA_RESPONSE 4
#define NO_DATA_CALL 5
#define REPLY_ASK  6    // 以链路数据或访问请求回答帧
#define LINK_SERVER_CLOSE 7  // 链路服务未工作


class SZNR103_Type
{
public:
    SZNR103_Type();


};

#endif // SZNR103_TYPE_H
